Conversation
- change interface to IFunctionIdentifier (API change) - extend parser states APC_ENTRY, APC_INTERMEDIATE, APC_PASSTHROUGH - remove APC_STRING - change ApcParser.start to retrieve ident - change actions APC_START and APC_PUT
|
@anthonykim1 This branch changes several aspects of the internal APC handling on the parser (better spec conformance, for details see #5834 (comment)). If you have a test battery for the kitty graphics protocol, please test it against this branch. |
|
Note on ApcParser: The ApcParser is now a copy clone of DcsParser minus params handling. Before it was a copy clone of OcsParser. The change was needed to correctly reflect the possibility of intermediates in the function identifier. In theory this would allow to merge ApcParser & DcsParser into one base sub parser class with method signature overloads. I did not do that yet, as APC is a bit wonky on the spec side of things (see #5834) with almost no prior art to learn from beside thin layout hints in ECMA-48 and by DEC. (If I remember right, some mainframe terminals used APC in the past, but I have no docs about those either.) By keeping the parsers separate for now we have a better chance to correct mistakes individually for APC. |
Tyriar
left a comment
There was a problem hiding this comment.
@anthonykim1 could you have a look over this? I'm assuming any major problems with kitty image would reveal themselves from this change due to ImageAddon.test.ts?
If you have a test battery for the kitty graphics protocol, please test it against this branch.
There's this tool I was experimenting with to make these newer features easier to manually test https://github.com/xtermjs/vtc
TODO:
Fixes #5834.